package com.kamistoat.meimeimall.meimeimallproduct.feign.fallback;

import com.kamistoat.meimeimall.common.To.seckillTo.SecKillProductCacheTo;
import com.kamistoat.meimeimall.meimeimallproduct.feign.SecKillFeignService;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * SecKillFeignService远程接口的熔断实现。
 * 当远程接口被熔断时，所有调用该远程接口的地方改为执行该实现类中的方法
 */
@Component
public class SecKillFeignServiceFallback implements SecKillFeignService {
    /**
     * @param skuId skuId
     * @return 类间传输To
     */
    @Override
    public SecKillProductCacheTo getSkuSecKill(Long skuId) {
        // 当远程接口熔断时，直接返回null即可，注意调用feign的地方要有与之匹配的非空检验。
        System.out.println("getSkuSecKill远程熔断，返回本地熔断数据");
        return null;
    }

    @Override
    public List<List<SecKillProductCacheTo>> getFutureSecKillSessionList() {
        System.out.println("getSkuSecKill远程熔断，返回本地熔断数据");
        return null;
    }
}
